package gat.common.util;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.IOException;
import java.io.InputStream;

/**
 * 判断Excel 文件的版本
 * Created by Administrator on 2018/7/4.
 */
public class WDWUtil {
    // @描述：是否是2003的excel，返回true是2003
    public static boolean isExcel2003(String filePath) {
        return filePath.matches("^.+\\.(?i)(xls)$");
    }

    //@描述：是否是2007的excel，返回true是2007
    public static boolean isExcel2007(String filePath) {
        return filePath.matches("^.+\\.(?i)(xlsx)$");
    }


    /**
     * 根据excel里面的内容
     *
     * @param is          输入流
     * @param filePath 文件路径
     * @return
     */
    public static Workbook getExcelInfo(InputStream is, String filePath) {
        /** 根据版本选择创建Workbook的方式 */
        Workbook wb = null;
        try {
            //当excel是2003时
            if (isExcel2003(filePath)) {
                wb = new HSSFWorkbook(is);
            } else {  //当excel是2007时
                wb = new XSSFWorkbook(is);
            }
            return wb;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return wb;
    }

}